package com.zgc.simpleholiday.model;

import com.google.gson.annotations.SerializedName;
import lombok.NoArgsConstructor;

import java.util.List;

@NoArgsConstructor
@lombok.Data
public class Holidays {

    @SerializedName("status")
    private String status;
    @SerializedName("t")
    private String t;
    @SerializedName("set_cache_time")
    private String setCacheTime;
    @SerializedName("data")
    private List<Data> data;

    @NoArgsConstructor
    @lombok.Data
    public static class Data {
        @SerializedName("ExtendedLocation")
        private String extendedLocation;
        @SerializedName("OriginQuery")
        private String originQuery;
        @SerializedName("SchemaVer")
        private String schemaVer;
        @SerializedName("SiteId")
        private Integer siteId;
        @SerializedName("StdStg")
        private Integer stdStg;
        @SerializedName("StdStl")
        private Integer stdStl;
        @SerializedName("_select_time")
        private Integer selectTime;
        @SerializedName("_update_time")
        private String updateTime;
        @SerializedName("_version")
        private Integer version;
        @SerializedName("almanac")
        private List<Almanac> almanac;
        @SerializedName("appinfo")
        private String appinfo;
        @SerializedName("cambrian_appid")
        private String cambrianAppid;
        @SerializedName("disp_type")
        private Integer dispType;
        @SerializedName("fetchkey")
        private String fetchkey;
        @SerializedName("key")
        private String key;
        @SerializedName("loc")
        private String loc;
        @SerializedName("resourceid")
        private String resourceid;
        @SerializedName("role_id")
        private Integer roleId;
        @SerializedName("schemaID")
        private String schemaID;
        @SerializedName("showlamp")
        private String showlamp;
        @SerializedName("strategyData")
        private StrategyData strategyData;
        @SerializedName("tplt")
        private String tplt;
        @SerializedName("url")
        private String url;

        @NoArgsConstructor
        @lombok.Data
        public static class StrategyData {
        }

        @NoArgsConstructor
        @lombok.Data
        public static class Almanac {
            @SerializedName("animal")
            private String animal;
            @SerializedName("avoid")
            private String avoid;
            @SerializedName("cnDay")
            private String cnDay;
            @SerializedName("day")
            private String day;
            @SerializedName("festivalList")
            private String festivalList;
            @SerializedName("gzDate")
            private String gzDate;
            @SerializedName("gzMonth")
            private String gzMonth;
            @SerializedName("gzYear")
            private String gzYear;
            @SerializedName("isBigMonth")
            private String isBigMonth;
            @SerializedName("lDate")
            private String lDate;
            @SerializedName("lMonth")
            private String lMonth;
            @SerializedName("lunarDate")
            private String lunarDate;
            @SerializedName("lunarMonth")
            private String lunarMonth;
            @SerializedName("lunarYear")
            private String lunarYear;
            @SerializedName("month")
            private String month;
            @SerializedName("oDate")
            private String oDate;
            @SerializedName("suit")
            private String suit;
            @SerializedName("term")
            private String term;
            @SerializedName("timestamp")
            private String timestamp;
            @SerializedName("type")
            private String type;
            @SerializedName("value")
            private String value;
            @SerializedName("year")
            private String year;
            @SerializedName("yjJumpUrl")
            private String yjJumpUrl;
            @SerializedName("yj_from")
            private String yjFrom;
            @SerializedName("desc")
            private String desc;
            @SerializedName("status")
            private String status; // null: 工作日, 1: 节假日, 2: 补班

            private DayStatus dayStatus;// 工作日(含补班)WORKDAY / 节假日HOLIDAY
        }
    }
}
